package com.kcloud.commons.authorization.annotation;


import java.lang.annotation.*;

/**
 * 属性注解
 */
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface AuthorizationAttr {

    /**
     * 属性名称，中文说明
     * @return
     */
    String name();

    /**
     * 属性编码
     * @return
     */
    String code();

    /**
     * 子集，默认为自己，否则为子集对应对象
     * @return
     */
    Class<?> alias() default AuthorizationAttr.class;

    /**
     * 是否为主键
     * @return
     */
    boolean primaryKey() default false;

    /**
     * 是否为外键
     * @return
     */
    boolean foreignKey() default false;

    /**
     * 是否为时间戳
     * @return
     */
    boolean timestamp() default false;
}
